(function (win) {
  // 创建axios实例
  const service = axios.create({
    // axios中请求配置有baseURL选项，表示请求URL公共部分
    baseURL: '/',
    // 超时
    timeout: 1000000
  })
  // request拦截器
  service.interceptors.request.use(config => {
    // 在发送请求之前做些什么
    // TODO 添加自定义header , 用于判断是否由 axios 发出
    config.headers['X-Is-Axios'] = 'true';
    return config
  }, error => {
      console.log(error)
      Promise.reject(error)
  })

  // 响应拦截器
  service.interceptors.response.use(res => {
      if (res.request.responseURL.endsWith("/")) {// 返回登录页面
        window.top.location.href = '/' ; // 这里连接可以随便写，因为url会被拦截
        return null;
      } else {
        /*let flag = (res.data.code == 200) ;
        let msg_type = flag ? "success" : "error";
        window.ELEMENT.Message({
          message: res.data.msg,
          type: msg_type,
          duration: 5 * 1000
        })*/
        return res.data;
      }
    },
    error => {
      let { message } = error;
      if (message == "Network Error") {
        message = "后端接口连接异常";
      }
      else if (message.includes("timeout")) {
        message = "系统接口请求超时";
      }
      else if (message.includes("Request failed with status code")) {
        message = "系统接口" + message.substr(message.length - 3) + "异常";
      }
      window.ELEMENT.Message({
        message: message,
        type: 'error',
        duration: 5 * 1000
      })
      return Promise.reject(error)
    }
  )
 win.$axios = service
})(window);
